# 使用del 语句删除元素
# 如果知道要删除的元素在列表中的位置，可使用del 语句。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[0]
print(motorcycles)

# 有时候，你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值，可使用方法remove() 。
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
motorcycles.remove('ducati')
print(motorcycles)

# 方法pop() 可删除列表末尾的元素，并让你能够接着使用它。
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)






# 实际上，你可以使用pop() 来删除列表中任何位置的元素，只需在括号中指定要删除的元素的索引即可。如果你不确定该使用del 语句还是pop() 方法，下面是一个简单的判断标准：如果你要从列表中删除一个元素，且不再以任何方式使用它，就使用del 语句；如果你要在删除元
# 素后还能继续使用它，就使用方法pop()
# 即当你使用pop()你是可以将相应的元素在拿来赋值给变量的，如：popped_motorcycle = motorcycles.pop()
# 而如果使用del则不能再拿来进行赋值操作了



# 方法append() 将元素'ducati' 添加到了列表末尾
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles.append('ducati')
print(motorcycles)

# 使用方法insert() 可在列表的任何位置添加新元素。为此，你需要指定新元素的索引和值。
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
print(motorcycles)




# 数组的排序

# Python方法sort() 让你能够较为轻松地对列表进行排序。假设你有一个汽车列表，并要让其中的汽车按字母顺序排列。为简化这项任务，我们假设该列表中的所有值都是小写
# 的。方法sort() （见❶）永久性地修改了列表元素的排列顺序。现在，汽车是按字母顺序排列的，再也无法恢复到原来的排列顺序：
ars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
# 你还可以按与字母顺序相反的顺序排列列表元素，为此，只需向sort() 方法传递参数reverse=True
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)

# 要保留列表元素原来的排列顺序，同时以特定的顺序呈现它们，可使用函数sorted() 。函数sorted() 让你能够按特定顺序显示列表元素，同时不影响它们在列表中的原始排
# 列顺序。
cars = ['bmw', 'audi', 'toyota', 'subaru']
print("Here is the original list:")
print(cars)
print("\nHere is the sorted list:")
print(sorted(cars))
print("\nHere is the original list again:")
print(cars)
# 两种排序的方法的区别在于，sort（）是直接在原来的数组上进行排序的，而使用sorted（）方法他相当与复制原来的数组对复制体进行排序，如果你再输出原来的数组你会发现
# 他的排序并没有什么变化



# 要反转列表元素的排列顺序，可使用方法reverse() 。
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)


# 使用函数len() 可快速获悉列表的长度。
>>> cars = ['bmw', 'audi', 'toyota', 'subaru']
>>> len(cars)


